// --------------------------------------------------------------------------------------------------------------------
// <copyright file="CanExecuteCommandEventArgs.cs" company="JDML Consulting Ltd.">
//   Copyright 2011 Photon Project - http://photon.codeplex.com
// </copyright>
// --------------------------------------------------------------------------------------------------------------------

namespace Photon.Windows.Input.Commands
{
    using System;
    using System.Windows.Input;

    public sealed class CanExecuteCommandEventArgs : EventArgs
    {
        #region Fields

        private readonly ICommand _command;
        private readonly object _parameter;

        #endregion

        internal CanExecuteCommandEventArgs(ICommand command, object parameter)
        {
            #region Validate Arguments

            Guard.ArgumentNull("command", command);

            #endregion

            _command = command;
            _parameter = parameter;
        }

        public ICommand Command
        {
            get { return _command; }
        }

        public object Parameter
        {
            get { return _parameter; }
        }

        public bool CanExecute { get; set; }
    }
}